テレビの視聴率が奮わないという話題を、ちらほら耳にする期会が増えてきました。

娯楽の多様化が原因の一つだと言われていますが、娯楽に限らず情報の入手先がテレビ以外にも増えたこと、特にスマートフォンに代表されるようなネット端末が普及し、かつそれがテレビよりも手近にあることも大きな原因の一つでは無いかと個人的には思います。

とは言えテレビの持つ大きな力は、その速報性。
とりわけ災害時の情報入手・伝播手段としては、やはりまだテレビ、あるいはラジオに一日の長があるようです。

さて時期柄、東日本大震災とそれに関連した防災に関する話題が度々メディアでも取り上げられていますが、震災当時に注目された防災グッズの一つとして、このテレビ・ラジオからの情報を入手するための「PC用ワンセグチューナー」が挙げられるかと思います。

余震が頻発し、計画停電なども実施されるなど、素早い情報の入手が必要となった震災直後の状況下、特にオフィスのようにパソコンはあれどもテレビやラジオが常設されていない環境では、即時性の高い防災情報の入手手段としてこの小さく安価なUSBワンセグチューナーは注目を浴び、また重宝されました。

そして時は流れ2013年。
今では殆どの携帯電話やスマートフォンへワンセグチューナーが搭載され、テレビやラジオからの情報入手には苦労しなくなりました。
また防災情報に関しては、震災時の経験を踏まえネット経由やそれ以外の経路での入手伝達手段が拡充されました。
それもあって、防災グッズとして購入されたUSBワンセグチューナーの出番は、今や殆ど無くなっているのでは無いでしょうか。

皆さんの家や職場の引き出しの中にも、使われずに眠っているUSBワンセグチューナーはありませんか?
もしあるとすれば、今一度掘り起こしてみてください。
それを使って、より高度な遊びができるかもしれませんよ?

ということで今回のお題は、僅か1000円ちょっとで買えるUSBワンセグチューナーを使った大人のお遊びです。
いつもよりマニア度高め、かつ長いぞ!覚悟おし!

ワンセグチューナーのしくみ

このUSBワンセグチューナー、言葉を換えて表現し直してみると

  • テレビ放送帯の電波を受信して
  • 電波の中にあるワンセグ放送のデジタルデータを音声・動画データへ変換する

という機能を持つPC周辺機器と言えます。

なお、二つ目の部分を「電波の中にあるアナログ音声信号を音に変換する」に置き換えると、AMラジオやFMラジオ、あるいは無線機の受信部分になります。
さらっと書きましたがこれ重要なので覚えておいてくださいね。

で、USBワンセグチューナー。
こいつの構造を見てみると、チューナーユニットと復調ユニットの2ブロックから形成されています。
といってもそれぞれがワンチップLSIになっているので、大雑把にはこの2つのLSIチップだけで構成されていると言っても良いでしょう。

実際に見てみましょうか。

これはゾックスのDS-DT305BKという、1000円〜1500程度で買える何の変哲もないUSBワンセグチューナーです。

そのケースを開けた状態がこちら。
黒くて四角いLSIチップが基板の左右に1個ずつ載っていますね。
基板右端手前にある端子がアンテナ端子で、そこに近い方からチューナーLSI、その隣にあるのが復調LSIです。
復調LSIにはUSBインターフェースの機能も一緒に載っています。
主要な部品はこれだけ。技術の進歩はすごい。

各々の役割を、もう少しだけ詳しく書くと以下のようになります。

  • チューナーユニット(チューナーチップ)
    • 受信したい周波数の信号を、復調ユニットが処理できる周波数(IF信号)へ変換する
  • 復調ユニット(復調チップ)
    • 受け取ったIF信号をA/D変換し、さらにワンセグの映像・音声信号として復調してPCへ渡す
      USBコントローラも一緒になっていて、PCとのデータ受け渡しも担う。


これらのLSIチップを、PC上のドライバ経由でワンセグ視聴ソフトから制御することで、

  • 受信する周波数をワンセグ放送の周波数へセットし
  • 受信した電波の中にあるワンセグ放送データを音声・動画データに変換して
  • テレビ放送を見る

ということを可能にしています。

受信周波数のセットとは即ち受信チャンネルのセットの事です。
安いラジオだと、手でダイヤルをグリグリ回して聞きたい放送局の周波数へ合わせるもんですが、こいつはPC上のソフトウェアから制御して、指定チャンネルの周波数へ合わせています。

さてここで沸き上がる疑問点。

  • 受信周波数のセットはソフトウェア上からの制御で行われるということは、ソフトウェア次第ではテレビ放送帯以外にも受信周波数をセットすることができるのではないか?
  • また、復調部分もソフトウェア制御の管理下にあるのであれば、ワンセグの映像・音声信号を復調する以外にも何か出来るのではないか?


出てきた疑問は可能な限り解消。
それは楽しい事に通じる扉を開く事でもあります。

彼を知り、己を知れば、百戦危うからず

高校時代、日本史・世界史は大の苦手だったので地理専攻でしたが、現文古文漢文は得意でした。
孫子の兵法ですね。昔の人はいいことを言ってます。

今回の場合、「彼」として知るべき相手はワンセグチューナー。
もっと言うと、それを構成しているチューナーチップと復調チップです。

先ほどの基板上の写真をよーく見てみましょう。

それぞれのチップ上に型番が書いてありますね。各々クローズアップしてみましょう。

チューナーチップ部分。
FC0013というのが型番ですかね。

調べてみると、台湾Fitipower社のチューナーチップで、50MHz〜1700MHzの受信に対応しているチップのようです(チップ仕様が公開されていないこともあって、受信範囲に関しては諸説あり)。
地デジ放送の周波数帯は470〜710MHzなので、チップの持つポテンシャルのうち、ごく一部しか使ってない事が分かりますね!
うーん、もったいない!

次は復調チップ。
これは蟹のマークでお馴染みRealtek社のチップですね。型番はRTL2832U。

Realtek社のサイトへ掲載されている情報によると、日本の地デジ・ワンセグ放送規格であるISDB-T 1-Seg規格だけでなく、欧州や台湾などで使用されているデジタルテレビ放送のDVB-T規格や、デジタルラジオのDAB,DAB+規格のデコードまで面倒見てくれる凄いヤツのようです。
また、件のサイトにはデジタル放送の処理だけでなく、アナログ放送であるFM信号の処理にも対応しているとも記載がありますので、デジタルテレビ・ラジオ信号の処理以外にも使えそうです。

以上より、ハードウェア的には50MHz〜1700MHzの電波を受信でき、 デジタルテレビ・ラジオだけでなくアナログ信号も処理できそうだという事が分かりました。
よって、これを制御するソフトウェアさえ何とかなれば、楽しい世界が開けそうです。

さて次は「己を知る」です。

「彼」がこれらLSIチップであるならば、相対するのはPC側のドライバやソフトウェア。
何かないかとLSIチップの型番である RTL2832U でググってみたところ、RTL-SDR というものがヒット。

RTLはチップ型番から取ったのでしょうね。
SDRって何だろう?と調べてみると、Software Defined Radio の略とのこと。
日本語に訳すと「ソフトウェア受信機」となりますが、これを使うことでRTL2832Uを使っているUSBワンセグチューナーが受信機に化けるという、とんでもなく便利なドライバのようです。

なんと、「あんなこといいな、できたらいいな」がアッサリ実現できそうですよ!
こんなことがあるから、知的好奇心の探求はやめられませんな!

ソフトウェア受信機

知ったついでに、ちょっとここらで無駄な知識を蓄えてみましょうか。

「ワンセグチューナーのしくみ」の段でも書きましたが、電波を受信してその信号を処理する仕組みを持つ機械は、広義的には「受信機」と呼ばれます。

受信する電波の範囲や、受信した電波をどう処理するかで、さらに細かいカテゴリ分けが行われます。

いくつか例を挙げてみましょう。

  • テレビ放送帯の電波を受信し、デジタルテレビ放送規格の信号を映像・音声へ復調してして可視化・可聴化する
    • →これが「テレビ」です
  • FMラジオ放送帯の電波を受信し、FM電波形式の電波信号を音声信号へ復調して可聴化する
    • →これが「FMラジオ」です
  • AMラジオ放送帯の電波を受信し、AM電波形式の電波信号を音声信号へ復調して可聴化する
    • →これが「AMラジオ」です
  • テレビやラジオ放送帯を含む、広い周波数帯の電波を受信し、FMやAMを含む、多くの形式の電波信号を復調して可聴化する
    • →これが「広帯域受信機」です

最後に一つ聞き慣れないものが追加になっていますね。
この「広帯域受信機」ってものは、ラジオの仲間ではありますが、ラジオの周波数だけでなく、もの凄く広い範囲の電波を受信できる、言うなればラジオの親玉、あるいは「制限解除版」とでも言うものです。

また受信できる範囲だけでなく、受信できる電波形式についても選択肢が広がっているのも特徴です。

受信した電波を音や映像に変えるには、その電波形式ごとに復調回路を用意する必要があります。
例えばFMラジオの場合、FMラジオ放送の周波数帯である76〜90MHz帯の電波を受信する機能と、受信した電波をFM電波形式から音声信号に復調する回路を搭載しています。

広帯域受信機は、ラジオの親玉なので、様々な電波形式に対応した復調回路が搭載されています。
AM、FMはもとより、アマチュア無線でよく使われる(ラジオ放送では普通は使われない)SSBといった電波形式や、モールス信号の送受信に使われるCWモードの受信に対応した、それぞれの復調回路を搭載しています。

これら各々の復調回路は電子部品で構成されているので、FM信号の復調にしか対応していない(その部品しか載っていない)機器では、AM信号やSSB信号の復調を行うことはできません。

しかし、近年のデジタル信号処理技術の進歩により、これら復調回路群をまるごとソフトウェアへ置き換えた受信機が登場しました。
これが「ソフトウェア受信機」、Software-Defined Radio(SDR)というものです。

これは、

  • 復調回路群そのものが不要となることで部品点数の削減によるコストダウンが可能となる
  • 設定の変更や機能の追加が、部品や回路設計の変更を伴わずソフトウェアの更新だけで簡単に行える
  • 部品点数が少なくて済むことから、個々の部品のバラツキによる個体差の減少を図ることが可能となる

などのメリットがあることから、新たな受信機の形態として注目を浴びています。

文章だけではイメージしづらいと思うので、通常の受信機とソフトウェア受信機の違いを図で見比べてみましょう。
まずは通常の受信機の場合。

このように、チューナーユニットから渡されたIF信号を復調回路が受け取って音声に変えます。
この復調回路は電波形式ごとに個別の回路を用意する必要があります。

かたやソフトウェア受信機の場合はどうかというと、チューナーユニットがIF信号を作る所までは同じですが、IF信号をA/D変換してデジタル信号としてコンピュータへ渡し、コンピュータ上のソフトウェアでIF信号を処理することで音声信号に変えるという仕組みになっています。

通常の受信機では電子部品によるハードウェアで構成されていた復調回路部分ですが、これが丸ごとソフトウェア化されているので、ソフトウェア次第でどんな電波形式にも対応し、また音声信号に変える際にも様々なエフェクト(雑音除去など)を掛けることができます。

さて、ここでUSBワンセグチューナーの仕組みを同じように図示してみましょう。

見て分かるように、ソフトウェア受信機と殆ど同じです。
というか、ソフトウェア受信機そのものと言っていいでしょう。
違いは、テレビ信号のデコードまでもチップ側で面倒を見てくれることぐらいでしょうか。
ある意味、普通のソフトウェア受信機よりも高機能と言えるかも知れません。

先に述べたRTL-SDRは、PC側からこのUSBワンセグチューナーを制御して、周波数のセットと、A/D変換されたIF信号をデコードさせずにそのまま引っ張ってくる機能を持つドライバソフトです。
渡されたIF信号を復調するのは別のソフトが必要になるのですが、RTL-SDRのサイトによると、これに対応しているソフトは数多くあるようなので、困ることはなさそうです。
軽く調べてみると、Windows用では、SDR#(SDR Sharp)というソフトウェアがメジャーなようですね。

同様に図示してみましょうか。

もう、まんまソフトウェア受信機じゃないですかーやったー。

しかもチューナーチップの制御も完全にこのドライバの制御下に置かれるので、受信可能な周波数帯域はチューナーチップにのみ依存します。
よって、今回のターゲットとなるFC0013の場合は50〜1700MHzもの広大な範囲が受信可能となります。

FC0013の受信範囲と、各周波数帯の大雑把な用途とを纏めてみたのが下の図。



JR列車無線や航空無線、消防・救急無線など、我々の生活に密着した無線通信もありますね。
また気象衛星のような、ちょっと科学少年心をくすぐられる物もあります。
たかだか1000円ちょっとのUSBワンセグチューナーを使って、これらを聞くことができるようになるだなんて、素敵なことだと思いませんか?
(同等の機能を持つ普通の受信機を買うと、安い物でも数万円します!)

ということで、早速、取りかかってみましょう!

なお、ラジオと同様、飛び交っている電波を受信するだけなので、これらの通信を受信することは法的にも全く問題ありませんが、その内容を他人に漏らすことはアウトです。

間違っても「第2出場なう」などとTweetしてしまわないよう、くれぐれも気をつけてくださいね。

これは、無線従事者免許証の裏面注意書きトップにも書いてある、大事な事柄です。

ちなみに表はこんな感じです(またかよ)。

いざ導入

さぁ盛り上がって参りました。
いよいよ導入と参りましょう。

必要な物は以下の3つ。

  • RTL-SDRが対応しているUSBワンセグチューナー
  • ドライバ(RTL-SDR)
  • 復調ソフトウェア(ソフトウェア受信機)


それぞれ、順を追って説明していきます。

USBワンセグチューナーの準備

ここで最も重要なものが、最初の「USBワンセグチューナー」。
前章で述べたように、RTL-SDRが対応しているチップを使用しているワンセグチューナーである必要があります。

具体的には、復調チップにRTL2832Uを搭載し、チューナーチップに以下のいずれかを使用しているもの。

  • FC0012
  • FC0013
  • E4000
  • R820T

冒頭に掲載した写真のワンセグチューナー(ゾックスのDS-DT305BK)は上記の条件を満たすワンセグチューナーのうちの一つです。

もしそれ以外のワンセグチューナーの場合でも、型番で検索してみるとヒットするかも知れませんし、デバイスマネージャーを捜して、ワンセグチューナーのドライバ名に RTL2832U の文字があれば、使える可能性は高いです。
(一番良いのは、ワンセグチューナーを分解して、基板上のチップをガン見すれば書いてありますが...)

ちなみに今回のターゲットとなるSD-DT350BKはこんな物。


USBチューナー本体と、ロッドアンテナ、それから外部アンテナ接続用の変換ケーブルが付いてきます。
もしこれからこのためにワンセグチューナーを買うようであれば、外部アンテナ接続用のコネクタか変換ケーブルが付いている物を探すと良いでしょう。

もし不幸にも手持ちのUSBワンセグチューナーがこのチップを使っていなかったら....
新しくもう1本買うか、このページをそっと閉じて不貞寝しましょう...

なお、RTL2832Uと上記のチューナーチップを使ってさえいれば、日本国内向けに売られているワンセグチューナーである必要はありません。
ワンセグチューナーとしては使用せず、ソフトウェア受信機としてしか使用しないのであれば、海外通販などで爆安で売られている、中国や台湾、ヨーロッパ市場向けに売られているデジタルテレビUSBチューナーを買って来るのが一番お安く上がるでしょう(送料を考えなければ...)

ちなみに、今回の用途用に新たに買う場合は、チューナーチップにR820Tを使っている物を買うと良いようです。
物としては一番新しいチップであることから、受信範囲が広く感度も良いと、もっぱらの評判です。

ドライバ(RTL-SDR)と復調ソフト(SDR#)のセットアップ

さて次に必要なのがドライバやソフトウェア類です。
手持ちの機材の関係でWindows用のドライバ・ソフトについてのみの説明となりますが、MacOSXやLinux系OSでもRTL-SDRは導入可能ですし、復調ソフトも多数ありますのでトライしてみてください。

いくつかステップがありますが、大雑把な流れとしては以下の通り。

  1. USBワンセグチューナーを挿す
  2. USBデバイスへの汎用アクセスドライバをインストールする
  3. RTL-SDRをインストールする
  4. SDR#をインストールする
  5. SDR#でRTL-SDRを使うためのプラグインをインストールする

以下、順を追って説明していきます。

まずはUSB汎用アクセスドライバのインストールから。
USB汎用アクセスドライバって何かというと、通常のドライバは、ハードウェアとアプリケーションソフトの間に立って、ハードウェアの制御を一手に担う役目を果たしますが、このUSB汎用アクセスドライバってヤツは、それ自身は何も機能を持たず、アプリケーションソフトからUSB機器に対する制御の橋渡しをするだけの、伝書鳩のような役目を果たすドライバです。

なんでこんな物が必要かというと、いわゆる通常の、ハードウェアとがっぷり四つに組むようなデバイスドライバの場合は、ハードウェアを鷲掴みにして蹂躙するような何でもありの動作ができる反面、技術的にも難易度が高く開発がクソ面倒らしいのですが、このような汎用アクセスドライバを使えば、出来ることは限定されるものの、あとはそれ経由でハードウェアを操作するアプリケーションを作成すればよいので、プログラムの開発が楽にできるらしいというのがその理由らしいです。
(伝聞形式なのは、私がプログラマではない事もあって詳しく知らないから....カーネルモードドライバの開発やデバッグは、普通のプログラムに比べて、ドえらく面倒らしいです)

話が横にそれました。
ドライバをインストールします。

その前にUSBワンセグチューナーをPCへ挿してください。
ここで今まで一度も挿したことが無ければ、何かしらドライバのインストールが始まると思います。そのまま放っておくと、Windows Updateのサイトからドライバを取ってきてドライバのインストールが始まります。そのままインストールを完了させても構いませんが、どうせこのドライバは使わないので、インストールがキャンセルできるならキャンセルしておきましょう。

USBワンセグチューナーに付いてきているドライバやWindows Updateから自動インストールされるドライバは、あくまでワンセグ放送を見るための「まっとうな」ドライバであり、また、付属のワンセグ視聴ソフトとの組み合わせで動作する物ですので、それは使いません。

今回必要なのは、先にも述べたように汎用アクセスドライバが必要なのです。

具体的には "Zadig" というツールを使ってドライバを仕込みます。


詳しい説明はここにありますが、最新版をここからダウンロードして展開すると、exeファイルが1個入っていると思いますのでそいつを実行します。


実行すると、ワンセグチューナーのドライバがインストールされていない環境では上図のようなウインドウが表示されると思います。
プルダウンから「RTL2832U」を選択し、Driverが「(NONE)」→「WinUSB」となっていることを確認して、Install Driver。
もし出てこなければ「Options」から「List All Devices」にチェックを入れると出てくると思います。


また、過去にワンセグチューナーのドライバをインストールした事がある場合や、ドライバがWindows Updateから自動インストールされた場合は、上図のように今入っているドライバ名が表示されると思いますので、上に表示されているようにWinUSBへReplace Driverしてください。

何れの場合も、USBドライバが正しく仕込まれたらその旨ダイアログボックスが出てきます。

USBドライバの仕込みはこれで終わり。
確認のため、いったんUSBワンセグチューナーをPCから抜いて、再度挿した後、デバイスマネージャーを見てみてください。


上図のように "Universal Serial Bus Devices" の下に RTL2832U がぶら下がっている事が確認出来ればUSBドライバの仕込みは成功です。


逆に、"サウンド・ビデオ・およびゲームコントローラー" の下にぶら下がっているようであれば失敗です(元々のドライバが当たっている)。再度Zadigを実行して試してみましょう。

さて次はRTL-SDRの仕込みです。
配布元がちょいと分かりづらいのですが、OsmoSDRがRTL-SDRの一次配布元です。

ここの"Software"の章へ行きます。

なにやらソースファイルのコンパイル方法とか書いてあってマジかよと一瞬ひるみますが、ちょい下にある「pre-Built Windows Version」とかいうリンクからWindows用バイナリのzipファイルをダウンロードできるので、そこから持ってくればOKです。
いつまで有効か分かりませんが、直リンクはこちら

無事にzipファイル(RelWithDebInfo.zip)をダウンロードできたら、とりあえず置いておきます。

さて次はソフトウェア受信機の用意です。
いくつかソフトはあるのですが、前述の通りメジャーなソフトということで今回はSDR#(SDR Sharp)というソフトを使います。


サイトより最新版である「SDR# Dev」と、RTL-SDR用のプラグインファイル「SDR# RTLSDR Plugin」をダウンロードします。
これもいつまで有効か分かりませんが、直リンクはそれぞれ以下の通り。

ここまで3つのzipファイルをダウンロードできたら、いよいよインストールです。
インストール方法は以下の3ステップ。ちょい複雑なので気をつけてくださいね。

  1. まず適当なフォルダを作成し、そこへSDR#本体のzipファイル(sdr-nightly.zip)を展開します。
  2. 次にRTL-SDRのzipファイル(RelWithDebInfo.zip)を展開し、x32 サブフォルダの中にある rtlsdr.dll を、上記SDR#本体を展開した場所へコピーします。
  3. 次にSDR# RTLSDRプラグインのzipファイル(sdr-nightly-rtlsdr.zip)を展開し、その中にある以下の5ファイルを、SDR#本体を展開した場所へコピーします。既にあれば上書きコピー。
    • SDRSharp.RTLSDR.dll
    • msvcr100.dll
    • libusb-1.0.dll
    • libusb0.dll
    • config\SDRSharp.exe.config

インストール後のSDR#展開フォルダの中身はこんな感じになります。
選択されているファイルが、上記手順2と3でコピーされたファイルです。

これでインストールは完了。
早速SDRSharp.exeを起動してみましょう!
あ、USBワンセグチューナーは接続しておいてくださいね。

SDR#のウインドウはこんな感じ。
起動しただけではまだ受信してないので音は出ません。

このSDR#は、今回使用するRTL-SDR以外にも多くデバイスを入力ソースを扱えます。
なのでまずやることは、入力ソースをRTL-SDRにセットするところから。

ウインドウ左上にあるプルダウンより「RTL-SDR/USB」を選択。

USBワンセグチューナーが接続されていて、かつ、RTL-SDRの制御下にある場合は、このように「RTL-SDR/USB」を選択すると、プルダウン右にある「Configure」ボタンが押せるようになるので、クリック。

RTL-SDR経由でUSBワンセグチューナーを制御する設定画面です。
といってもたいした設定項目はありませんが。

いじる箇所は、「RF Gain」(受信感度)をめいっぱい右に振るのと、「Offset Tuning」にチェックを付けることでしょうか。
Offset Tuningは、使うデバイスによって効果があったり無かったりするので、受信しつつON/OFFを切り替えて良い方を選択してみてください。

設定が終わったら「Close」をクリックしてメイン画面に戻り、プルダウンの左にある「Play」をクリックすると、いよいよソフトウェアラジオの動作開始!です。

ウインドウ右側の上では何やらグラフがザワザワと動き、下側では嘘発見器のグラフのような物が流れ、PCからはザーっという雑音が聞こえてきましたか?
聞こえてくれば、ひとまず導入は成功です。
聞こえてこなければ、プルダウンの左にある「Stop」をクリックして動作を止めた後、ウインドウ左中段にある「Audio」セクションでOutputデバイスを別の物に変えてみたり、AF Gain(音量ボリューム)を変えてみたり、PC側のオーディオ設定が正しいかどうかを確認してみてください。

これで、基本的な導入は完了です!
どうです?ここまでうまくいきましたか?

SDR#のクイックガイド

雑音を聞いてても仕方ないと思うので、簡単に使い方を説明します。

実際に電波を受信してみるので、USBワンセグチューナーにアンテナを繋げてなければ繋げてください。
付属のアンテナでも良いですし、変換ケーブルをテレビのアンテナに繋げても良いです。

まずはラジオらしく、FMラジオを聞いてみますかね。

近くのFMラジオ放送局の周波数は分かりますか?
画面上にある「VFO」の横にある数字の部分にマウスポインタを持って行き、ホイールで上下するか、数字の上側・下側をクリックすることで、1桁ずつ受信周波数を変更することができます。
またキーボードから周波数を入力することでもチューニングできます。

例えばTOKYO FMの放送周波数、80.0MHzに合わせるとこんな感じの画面になります。

電波の強さがウインドウ右側上部に表示され、その強さの時系列グラフが下側に表示されるという案配です。

これを見ると、電波は受信しているようですが、どうでしょう、聞こえてきた音はグシャグシャの、音っていうか雑音ではないですか?
これは、受信する電波形式が違うからです。
FMラジオは、その名の通り電波形式「FM」で送信されていますが、復調(電波を音声に変える)方法が、送信されている電波形式とあっていないと、ちゃんとした音声にはなりません。

では復調する電波形式を変えるのはどうすればよいかというと、ウインドウ左側上部にあるラジオボタンで選択します。

ここにある「NFM」「AM」「LSB」...といった部分が、電波形式。
FMラジオ放送が使用している電波形式はFM形式ですが、例だと「AM」が選択されていますので、正しく音声にすることができません。

ではFMを選択したいところですが、それっぽい物は「NFM」と「WFM」の2種類しかありませんね。
どっちを選ぶかというと、

  • ラジオ放送を受信する場合は「WFM」
  • 無線機を使った通信など、それ以外を受信する場合は「NFM」

って感じで使い分けます。

両者の違いは、使う電波の幅です。WideとNarrowですね。
広い電波帯域を使うと、高音質で音声を伝達することができます。なのでFMラジオ放送の場合は「WFM」を使います。
逆に「NFM」を使う場合はというと、音質は二の次で、限られた周波数帯域の中に多くの無線局を収容したいような場合です。まあ、ラジオ放送以外の通信です。

今回はFMラジオ放送なので「WFM」を選んでみましょう。

どうでしょう?綺麗なラジオの音が聞こえましたか?
さらに「WFM」を選ぶと、「FM Stereo」のチェックボックスにチェックを付けることができるようになります。
ここにチェックを付けるとどうなるかは、分かりますね!

ステレオ受信できると、このように「((stereo))」と表示されますよ。

次に、ウインドウ右側に大きく場所を取っている二つのグラフについて簡単に説明します。

上側の青いグラフは、先ほども少し述べたように電波の強さを示すグラフです。
真ん中の赤い線で示されてるところが、現在受信している周波数です。この例だと80.0MHz。
そこを中心に、前後約1MHzの状況を見ることができるというものです。
上図の場合は、79.0MHz〜81.0MHzの範囲で電波が出ているかを見ることができているって案配ですね。
(ちょっと左側に見える小高い山は、79.5MHz。埼玉のFM放送局、NACK5です)

この範囲は、一番最初に「RF Gain」などを設定した箇所で変更することができます(Sample Rateの箇所)が、RTL2832Uの場合はデフォルト値から弄ると極端に受信性能が落ちるので、特段の理由がない限りはデフォルト値(2.048MSPS)から変えない方が良いでしょう。

また、このグラフ上にマウスを持って行って、ホイールをグリグリすることで、アナログラジオのようにチューニングすることもできます。

次に下側の赤いグラフの部分、これは見てると分かると思いますが、この2MHzの幅の中で、いつ・どこに・どんな強さの電波を受信したかを時系列で表示するグラフです。
心電図とか、嘘発見器のグラフのようなものです。

グラフ右にあるスライダーを動かすことで、スクロールの速度や、電波の強さに応じた色合いを変えることができます。
ここは好みに応じて変えれば良いでしょう。

デフォルトだと、電波を受信していない、ノイズの部分も黄色〜橙色で表示されちゃってるので、ちょっと寒色系に振ると見やすいかなと思います。

こんな感じ。どうでしょう?

ざっと簡単に使い方を説明しましたが、まあ、これだけでも十分楽しめると思います。
説明してないパラメータもたくさんありますが、無線をちょっとでも知っている人にとっては、かなり楽しめるのではないでしょうか?
スケルチもありますし、フィルタバンド幅を自在に変更できたり、2MHzの帯域をリアルタイムに表示できるなんてのは、ハードウェア受信機では高級機ぐらいにしかありませんからね!

っと、ここまでは単なる受信機として使ってみる話。
せっかくPC上で動かすのですから、もう一歩踏み込んだ使い方をしてみましょう。

気象衛星からの電波を受信してみよう

さて、ここまででも消防無線や救急無線、列車無線や航空無線などを受信できるようになってウハウハですが、もう一歩面白い物を受信してみましょう。

空を飛んでる気象衛星からの電波を受信してみます!

気象衛星からの電波つっても、気象衛星が地球に向けて音楽を流してくれるわけではありません。
気象衛星が流してくれるのは、気象衛星が撮影した地球の衛星画像です。
よく天気ニュースで見るアレです。アレを受信してみます。ご家庭で。ワンセグチューナーで。

と言ったものの、これはワンセグチューナーだけではちょっと無理で、少しばかり追加の投資が必要です。
具体的には、そこそこちゃんとしたアンテナが必要です。

受信機にとって大事な物は、アンテナ。
電波の入り口ですから、しっかりした物が必要です。
ましてや相手は宇宙の彼方から飛んでくる、か弱い電波。付属のしょっぼいアンテナではとうてい太刀打ちできません。

とはいえ、まあこの程度のアンテナがあれば十分です。

お馴染み秋月電気通商で絶賛販売中の144/430MHz帯アマチュア無線用アンテナ。1本1650円。
これでも、有ると無いでは大違い!
(1200円で売ってる144MHz帯用のヤツはあまり感度が良くないとの噂なので少し値は上がりますがこっちを推奨)

アンテナを買ったら、次にこのアンテナを接続するための変換コネクタや変換ケーブルを一緒に用意してください。
ワンセグチューナー本体のアンテナコネクタ形状は、今回ターゲットとしたSD-DT350BKを含め、大凡の場合MCXという形状なので、これと上記アンテナのコネクタ形状であるBNCという形状との変換ケーブルが入手できればベスト。

そんなにメジャーなものではないのですが、共立エレショップや千石電商では通販で買えるようですね。千石では1本330円です。
もしこの変換ケーブルが入手できなかったら、ワンセグチューナー自体に外部アンテナ接続用としてMCX-F型コネクタの変換ケーブルが付いてきていると思うので、BNC-F変換コネクタを入手すれば良いでしょう。

こういうヤツ。これも共立や千石で買えます。
秋月にもあったと思います。

私はこのBNCJ-FP変換コネクタを使って接続してみました。
また、ワンセグチューナー自体も、USB延長コネクタを使ってPC本体からすこし離して設置しています。
PCから出るノイズの影響を少しでも避けようという涙ぐましい努力だと思ってください。

さて、アンテナの用意はできましたか?
用意できたら、そのアンテナを、屋外の、なるべく空が広く見えるところへ設置してください。
家だと無理なら、どこか空が開けている空き地なり河原なり山の上なりに、ノートパソコン持って移動してもよいですよ。
(というか、むしろその方が成功する確率は高いかも知れません)

余談ですが、私が使っているアンテナはこういうヤツ。
第一電波工業のD190というアンテナです。10年ぐらい使ってるのでボロボロですが...
市価8000円弱の、広帯域受信にそこそこ使えるアンテナとしては最も安い価格帯のアンテナです。

機材の用意が出来たところで、いざ受信...ですが、相手は気象衛星。
しかも送ってくるのは撮影データ。
人が聞いて楽しめる物ではありませんね。

データの処理はソフトにお任せ。
ということで、コレを使います。

アメリカの気象衛星「NOAA」が送信するデータ信号を受信し、画像にデコードしてくれる KG-APTというソフトウェアです。
ありがたいことに無料で利用できますので、感謝しつつ使わせていただきましょう。

起動すると、こんなカッコイイ画面になります。

世界地図の上に4つの衛星とその軌道が描かれていますね。
これが、現時点での衛星の位置です。
また「HOME」と書かれているのが自分の位置。これは設定で場所変更できます。
ウインドウ下に、次にどの衛星がいつ頃最も接近するか、またその衛星が使用する周波数は何かが表示されています。

デフォルトではNOAA-15,17,18,19の4機が表示されていますが、今回は一番新しいNOAA-19からのデータ受信にトライしてみましょう。

ウインドウ上部にある「起動設定」をクリックし、NOAA-19のみを選択。また自分の居場所をプリセットの中から一番近い物を選びます。

これで画面がスッキリしましたね。

さてこのソフトですが、受信機で受信した音声信号を解読して衛星画像にデコードします。
なので、通常想定される利用形態は、無線機の音声出力端子と、PCのライン入力やマイク入力端子とをケーブルで接続するというものです。

ですが今回はソフトウェア受信機。
どうするかというと、PCのヘッドフォン端子とライン入力orマイク入力端子をケーブルで繋ぎます。

こんな感じッスね。
なんかスマートじゃないなーとお考えのアナタは、「仮想ステレオミキサー」でググってみると幸せになるでしょう!

さてオーディオ出力と入力を接続した、その状態でSDR#を起動し、NOAA-19のデータ送信送信周波数である137.100MHzへセット。
受信モードはNFM、スケルチはオフ。また、これが重要なのですがフィルタ帯域幅を50〜70KHzに設定します。

こんな感じッスね。

またKG-APT側では、音声データをライン入力orマイク入力端子から受け取れるように設定します。

「入力設定」ボタンをクリックして出てくる画面で入力ソースを選択。
かつ、入力ボリュームが過小・過大にならないよう、右側にあるバーグラフで緑のゾーン内に収まるか収まらないかぐらいにゲインを調整します。
本当は、実際に気象衛星からの信号を受信している状態で入力レベルを調整するのが一番良いのですが、まあ大雑把にはこの辺に合わせておいて大丈夫です。

ここまで準備できたら、あとは「自動受信」ボタンをクリックして待つだけ。
衛星が最接近する時刻になると、自動的にデコード開始して画像データとして保存してくれます。

そして実際に最接近する時刻になった際の画面がこちら。

全面が世界地図だった画面から、受信したデータをデコードしていく画面に切り替わります。
この段階では、まだ衛星はちょっと遠いところにいるので、衛星からの電波はまだ十分に受信できておらず、したがって画像データにもなっていません。

暫くすると衛星がより接近して来て、それに伴いSDR#の画面にも衛星からの電波を捉えた軌跡が表示されはじめました。

おおおおー。来てる来てる。ちょっと感動。
このときのKG-APTの状態はというと...

おおおお!何かそれっぽい物が見えてるぞ!

おおむね、一度の遭遇時間は約10分程度です。
NOAAは常にデータを送信していますので、その10分間の間にどれだけ確実に衛星からの電波を捉えることが出来るかが勝負です。

電波の強さは天候にも左右されますし、また、アンテナの位置や、自分のどっち側を衛星が通過するかによっても強さが変わってきますので、最初のうちは試行錯誤になると思います。

何度か試したところ、こんな感じの映像を受信することができました。

2013年3月14日、13:10頃に受信したデータです。
寒冷前線?でしょうかね?
太平洋側から日本海側に掛けて、何とも寒そうな雲の流れが見て取れます。

本当は、もっと縦に長い大きな画像になるのですが、電波状態が良くなかったのか、ソフトの設定がいまいちなのか、千円ワンセグチューナーの限界か、10年物の腐れアンテナのせいか、この範囲のデータをデコードするのが精一杯だったようです。

ちなみに、高知大学 気象情報頁による、ほぼ同じタイミングでの気象衛星ひまわり(MTSAT-2)の衛星画像はこちら。

流石にお見事!です。

なお、NOAAのデータをデコードするソフトは、KG-APTの他にWXtoIMGというソフトもあります。
機能としてはこちらの方が遙かに多く、また歴史も長いのですが、その分設定項目も多岐にわたり、初心者がいきなり使うにはハードルが高いと思います。
まずはお手軽に試してみる、という意味では、KG-APTがお勧めです。

これを取っかかりに、より興味を持ったら、WXtoIMGなり他のソフトなり、また、気象衛星以外のデータ通信のデコードにも手を出してみるのも良いでしょう。

参考までに、WXtoIMGの使い方は以下に詳しい説明があります


日本宇宙少年団ってスゲー事やってんだなぁ羨ましい。

ネットワーク越しに受信してみよう

気象衛星からのデータ受信もいいけど、それって普通の広帯域受信機でも出来ることだし、もっとなんかソフトウェア受信機ならではの事は無いのかねとお悩みのアナタ!
いいネタありますよ旦那。

SDR#の導入部分で、入力ソースを選択したプルダウンを思い出してみてください。

ここで「RTL-SDR/USB」を選択しましたが、その下にある「RTL-SDR/TCP」というもの、気になりません?

また、RTL-SDR本体(RelWithDebInfo.zip)の配布物を再度見返してみてください。

先の導入時には rtlsdr.dll だけしか使いませんでしたが、一緒に配布されている「rtl_tcp.exe」なるファイル、気になりません?

名前からして何となく想像付くと思いますが、こいつはネットワーク越しにRTL-SDRと接続できるインターフェースになります。
rtl_tcp.exeがサーバーソフトウェアとして動作し、そこにSDR#から接続することで、USBワンセグチューナーをネットワーク越しに操ることができるという代物です!

図解するとこんな感じ。

よくあるサーバとクライアント構成になりますから、自室のPCにUSBワンセグチューナーを挿してrtl_tcpを動作させておき、そこへ無線LAN接続のノートPCからSDR#で接続、家中どこに居ても無線を聞くことができるなんてことができます。

早速試してみましょう!

まずはサーバ側(USBワンセグチューナーが繋がってるPC側)の準備から。
必要なファイルは、RTL-SDR配布物の中にある以下の4ファイル。


  • libusb-1.0.dll
  • pthreadVC2-w32.dll
  • rtl_tcp.exe
  • rtlsdr.dll

OSが32ビットOSの場合でも64ビットOSの場合でも、x32フォルダ以下にある上記ファイルが使えます。
64ビットOSを使ってて、せっかくだからx64フォルダ以下にあるファイルを使いたい場合は、x64フォルダ以下にある上記の同名ファイルを使ってください(pthreadVC2-w64.dll になるのでそこは注意)。

同一フォルダ内へ上記ファイルを置いたら準備は完了。
USBワンセグチューナーを挿し(zadigでUSBドライバは導入しておいてくださいね)、コマンドプロンプトから以下のようにrtl_tcpを起動します。

> rtl_tcp -a 0.0.0.0

rtl_tcp の引数 "-a 0.0.0.0" は、rtl_tcp が listen(接続受付) するIPアドレスを指定するオプションスイッチです。
デフォルトでは自分自身しか接続できない 127.0.0.1 でしかlistenしないので、明示的に 0.0.0.0 を指定して、自分に割り当てられている全てのIPアドレスに対してlistenするようにして起動させています。

正常に起動すれば、上記のように "Found Fitipower FC0013 tuner" "Using Generic RTL2832U" 等とワンセグチューナーの情報が表示された後に、接続待ち状態になります。

この状態でSDR#から繋いでみましょう。

SDR#の入力ソース選択プルダウンで「RTL-SDR/TCP」を選択のうえ、「Configure」をクリック。

設定ウインドウで、接続先(rtl_tcpを動作させているPC)のIPアドレスを入力します。
自分自身(同一PC)の上で動作している場合は、「自分自身」を意味するIPアドレス 127.0.0.1 でもOK。
RF Gainは、接続した状態でないと設定できないので、接続後に再度このウインドウを開けて設定します。

入力したらウインドウを閉じ、プルダウン左にある「Play」をクリックして接続!

どうでしょう?ちゃんと動作していますか?
音が聞こえ、周波数の変更もできますか?
できれば、成功です!

どうでしょう?すごくね?これ。
TCP/IPで繋がりさえすれば良いので、自宅サーバ公開と同様の要領で、インターネット越しに自宅のUSBワンセグチューナーに接続するなんて芸当も可能です。

ちなみに、デフォルトの受信帯域幅(約2MHz)設定における、サーバ⇔クライアント間の通信帯域は約31Mbpsでした。
無線LANの場合は802.11n必須。802.11gではちょっと厳しい。
インターネット越し接続を企てる場合は、サーバ側・クライアント側ともに光回線必須ですね。

帯域幅を最低の250KHzに狭めてみた場合で約4.2Mbps。
これなら何とか?

インターネット越し接続の場合、うまくいけばスマートフォンのテザリング経由で繋ぐこともできるかな、って感じですね。

なお、現時点では定期的に音が途切れるというバグがあるようです。
上記の、帯域幅250KHz時のネットワーク転送グラフを見ると、定期的にグラフが落ち込んでいるのが分かると思いますが、この落ち込んでいるところで、一瞬音が途切れます。

サーバ側が悪いのかクライアント側が悪いのか分かりませんが、なるべく早めにこのバグが解決することを願います。

余談ですが、RTL-SDRはWindows以外のOSでも動きます。
なので、例えばLinuxサーバが常時稼働しているようなご家庭の場合は、そのLinuxサーバにRTL-SDRを導入してUSBワンセグチューナーを接続し、さらにrtl_tcpをデーモンとして稼働させることで、家中どこからでも(ヘタすれば世界中どこからでも)利用できるRTL-SDRサーバとして仕立て上げることが可能ですよ。

締めのお言葉

比較的入手しやく、かつ安価なデバイスを使って、ちょっと敷居高いと思われてたかもしれない、電波や無線通信というものに近づいてみましたが、いかがでしたでしょうか。

世界には様々な電波が飛び交っています。
電波は目に見えませんが、このようにちょっとした装置と、ちょっとした手間を掛けると、それに触れることができるようになります。
興味がわいたら、試してみては如何でしょう?
もしかすると、新たな楽しみに遭遇するかも知れませんよ!

追補:2013/4/19

前述の通り、チューナーに付属していた外部アンテナ接続ケーブル(MCX-F変換ケーブル)にFP-BNCJ変換コネクタを付けて使っていましたが、やっぱり気になるので、本文中でも触れた MCX-BNC 変換ケーブルを買ってきました。

千石電商で330円。

接続した様子はこんな感じ。

ケーブル部分の長さは約5cmです。
BNCコネクタ側のアンテナケーブルが太くてゴツい場合は、変な力が加わって変換ケーブルを折ったりしないように気をつけましょう。
参考までに我が家の場合は5D-FBという少し硬めのケーブルを使ってるので、ケーブルの取り回しに少し気を遣います。

変換コネクタが不要になったのと、ケーブル部分がそれなりにしっかりしたものになったことで、受信感度の向上が期待できます。

早速比較してみましょう。

付属の変換ケーブル+変換コネクタの場合。
-33.07dBです。

そして今回購入したMCX-BNC変換ケーブルの場合。
-31.03dB。その差約2dB。